package com.xwltz.core.utils.system;

import cn.hutool.core.util.NumberUtil;
import lombok.Setter;

import java.io.Serializable;

/**
 * @description SystemMem
 * @information on version 1.0 be created by xwltz at 2021/12/29 16:41
 */

public class SystemMem implements Serializable {
	private static final long serialVersionUID = 1L;

	/**
	 * 内存总量
	 */
	@Setter
	private double total;

	/**
	 * 已用内存
	 */
	@Setter
	private double used;

	/**
	 * 剩余内存
	 */
	@Setter
	private double free;

	public double getTotal() {
		return NumberUtil.div(total, (1024 * 1024 * 1024), 2);
	}

	public double getUsed() {
		return NumberUtil.div(used, (1024 * 1024 * 1024), 2);
	}

	public double getFree() {
		return NumberUtil.div(free, (1024 * 1024 * 1024), 2);
	}

	public double getUsage() {
		return NumberUtil.mul(NumberUtil.div(used, total, 4), 100);
	}
}
